var uploadFile = function() {
	var that = this;
	this.webup = null;
	this.f_vu = null;
	this.wel = null;
	this.state = null;
}

uploadFile.prototype.pageInit = function() {
	var that = this;
	that.file_vu();
	that.webuploaderInit();
}

uploadFile.prototype.file_vu = function() {
	var that = this;
	var f_vu = new Vue({
		el: "#file_vu",
		data: {
			fileList: [],
			radio: "tp",
			formLabelWidth: "",
			form: {
				abelWidth: "",
				cgname: "",
				well: '',
				sszj: "",
				ssgq: "",
				fileList: [],
				gxlx: '1'
			},
			dynamicTags: [],
			inputVisible: false,
			inputValue: ''
		},
		methods: {
			WebUploaInit: function() {

			},
			//控制tag的事件
			handleClose: function(tag) {
				this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1);
			},
			radioChange: function() {

			},
			qd: function() {
				that.wel.upload();
			},
			//获取剪切板成果
			cg_paste: function() {
				Cg_paste();
			},
			//成果库
			insertYYcg: function() {
				insertCG();
			},
			openSlk: function() {
				window.open("/view/module/search/slk.html");

			},
			openBz: function() {
				//console.log(window.uploadmap);
				window.open("http://81.68.240.238:8889/project/glbz_details.aspx?jdid=" + window.uploadmap.jdid);
			},
			showInput: function() {
				this.inputVisible = true;
				this.$nextTick(_ => {
					this.$refs.saveTagInput.$refs.input.focus();
				});
			},

			handleInputConfirm: function() {
				let inputValue = this.inputValue;
				if(inputValue) {
					this.dynamicTags.push(inputValue);
				}
				this.inputVisible = false;
				this.inputValue = '';
			}
		}
	})
	that.f_vu = f_vu;
}

uploadFile.prototype.webuploaderInit = function() {
	var that = this;
	//WebUploader插件实现文件上传
	that.state = "pending";
//	
//	WebUploader.Uploader.register({
//		'name': 'webUploaderHookCommand',
//		'before-send-file': 'beforeSendFile',
//		"before-send": "beforeSend"
//	}, {
//		beforeSendFile: function(file) {
//			var task = new WebUploader.Deferred();
//			fileName = file.name;
//			fileSize = file.size;
//			(new WebUploader.Uploader()).md5File(file, 0, 10 * 1024 * 1024).progress(function(percentage) {}).then(function(val) {
//				fileMd5 = val;
//				var url = checkUrl;
//				var data = {
//					type: 0,
//					fileName: fileName,
//					fileMd5: fileMd5,
//					fileSize: fileSize
//				};
//				$.ajax({
//					type: "POST",
//					url: url,
//					data: data,
//					cache: false,
//					async: false, // 同步  
//					timeout: 1000, // todo 超时的话，只能认为该分片未上传过  
//					dataType: "json",
//					error: function(XMLHttpRequest, textStatus, errorThrown) {
//						file.statusText = 'server_error';
//						task.reject();
//					}
//				}).then(function(data, textStatus, jqXHR) {
//					if(data.rtn == 0) {
//						if(data.obj == 1) {
//							file.statusText = 'file_existed';
//							task.reject();
//						} else {
//							task.resolve();
//						}
//					} else {
//						task.reject();
//					}
//				});
//			});
//			return task.promise();
//		},
//		beforeSend: function(block) {
//			var task = new WebUploader.Deferred();
//			var url = checkUrl;
//			var data = {
//				type: 1,
//				fileName: fileName,
//				fileMd5: fileMd5,
//				chunk: block.chunk,
//				fileSize: block.end - block.start
//			};
//			$.ajax({
//				type: "POST",
//				url: url,
//				data: data,
//				cache: false,
//				async: false, // 同步  
//				timeout: 1000, // todo 超时的话，只能认为该分片未上传过  
//				dataType: "json"
//			}).then(function(data, textStatus, jqXHR) {
//				if(data.rtn == 0 && data.obj == 1) {
//					task.reject(); // 分片存在，则跳过上传  
//				} else {
//					task.resolve();
//				}
//			});
//			this.owner.options.formData.fileMd5 = fileMd5;
//			this.owner.options.formData.chunkSize = chunkSize;
//			return task.promise();
//		}
//	});

	var wel = WebUploader.create({
		// 不压缩image
		resize: false,
		// swf文件路径
		swf: '/blog/plugins/webuploader/Uploader.swf',
		// 文件接收服务端。
		server: '/lvy/file/uploadFilerePath',
		// 选择文件的按钮。可选。
		// 内部根据当前运行是创建，可能是input元素，也可能是flash.
		pick: '#cg_fileup',
		paste: document.body,
		// 开区分片上传
		auto: false,
		compress: false,
		chunked: false,
		disableGlobalDnd: true,
		chunkSize: 1024 * 1024, //1M 为一片
		fileNumLimit: 1,
		fileSizeLimit: 200 * 1024 * 1024, //200M
		fileSingleSizeLimit: 1024 * 1024 * 100, //50M
		//单片失败后重试次数
		chunkRetry: 5,
		accept: {
			//			extensions: that.parameter.cglx,
			//			mimeTypes: that.parameter.flmc,
		},
		thumb: {
			width: 1600,
			height: 1600,
			// 图片质量，只有type为`image/jpeg`的时候才有效。
			quality: 90,
			// 是否允许放大，如果想要生成小图的时候不失真，此选项应该设置为false.
			allowMagnify: false,
			// 是否允许裁剪。
			crop: false,
			// 是否保留头部meta信息。
			preserveHeaders: true,
			// 如果发现压缩后文件大小比原来还大，则使用原来图片
			// 此属性可能会影响图片自动纠正功能
			noCompressIfLarger: false,
			// 单位字节，如果图片大小小于此值，不会采用压缩。
			compressSize: 0
		}
	});
	wel.on('fileQueued', function(file) {
		// 选中文件时要做的事情，比如在页面中显示选中的文件并添加到文件列表，获取文件的大小，文件类型等
		console.log(file.ext) // 获取文件的后缀
		console.log(file.size) // 获取文件的大小
		console.log(file);
		//	cg_v.ruleForm.ACHMC = null;
		var cgName = file.name;
		
		that.f_vu.form.cgname=cgName;
		var suffixName = cgName.substring(cgName.lastIndexOf("."));
		//	var cgmc = that.ruleForm.ACHMC
		//				if(cgmc == null || cgmc == "null" || cgmc == "") {
		//					cgName = cgName.substring(0, cgName.lastIndexOf("."));
		//					that.ruleForm.ACHMC = cgName;
		//				}
		if(suffixName == ".xls" || suffixName == ".xlsx") {
			//					excel_to_html(file, false, function(data) {
			//						$("#preview").html(data);
			//						$.post("/zhyj/file/uploadFile_h", {
			//							html: data,
			//							name: cgName
			//						}, function(res) {
			//							that.slt_lj = res.path;
			//						});
			//					});
		} else if(suffixName == '.txt') {
			$("#bmgs").show()

			that.file_source = file
			var reader = new FileReader()
			// reader.readAsArrayBuffer(file.source.source)
			reader.readAsText(file.source.source, that.radio);
			reader.onload = function(ev) {
				try {
					that.wj = ""
					var data = ev.target.result
					var arr = data.replace(/\r/g, '').split('\n');
					for(let i = 0; i < arr.length; i++) {
						that.wj += '<p>' + arr[i] + '<p>';
					}
					that.BoxType.KZM = '.TXT'
				
				} catch(e) {
					console.log('文件类型不正确');
					return;
				}
			}

		}

		wel.makeThumb(file, function(error, ret) {
			if(error) {
				$("#cg_preview_com").text('预览错误');
			} else {
				$("#cg_preview_com").append('<img alt="" src="' + ret + '" style="height: 100%;width: 100%;" />')

			}
		});
	});

	wel.on('uploadProgress', function(file, percentage) {
		console.log(percentage * 100 + '%');
	});

	wel.on('uploadSuccess', function(file, response) {
		if (response != null){
			let uid = CreatUid();
			var savefile_m ={
				fileid : uid,
				file_name : that.f_vu.form.cgname,
				file_cjsj: getNowFormat(),
				file_url : response._raw
			}
			$.ajax({
				type:"post",
				url:"/lvy/file/saveFileData",
				data:JSON.stringify(savefile_m),
				contentType: "application/json",
				success:function (res) {
					console.log(res);
				}
			});
		}
		
	});

	wel.on('uploadError', function(file) {
		console.log(file);
		console.log(file.id + 'upload error')
	});

	wel.on('uploadComplete', function(file) {
		console.log(wel.getFiles());
	});

	that.wel = wel;
}